This invention relates to an information processing system and, in particular, to a method of designating an area for storing data and a mapping of a virtual space to a real memory unit.
As is well known in the art, an expanded memory unit (EXP MEM) is a storage arrangement positioned between a main memory unit (MN MEM) and an external memory unit (EXT MEM) such as a disk. A combination of the main memory unit and the expanded memory unit is referred to as the real memory unit. The expanded memory unit can only be operable at an access speed lower than that of the main memory unit, though the storage capacity thereof is much larger than that of the main memory unit. It is expected that the performance of the information processing system will be improved by using the expanded memory unit as the area for storing the data which is so far stored in the external memory unit. For example, the expanded memory unit can be used as a temporary memory for a file or a swapped area for virtual memory control.
It is assumed that the main memory unit is operable at a main access speed AS(MN) and has a main storage capacity SC(MN), the expanded memory unit is operable at an expanded access speed AS(EXP) and has an expanded storage capacity SC(EXP), and the external memory unit is operable at an external access speed AS(EXT) and has an .external storage capacity SC(EXT). The following relationships generally hold for the access speed and the storage capacity of the main memory unit, the expanded memory unit and the external memory unit: EQU AS(MN).gtoreq.AS(EXP).gtoreq.AS(EXT), and EQU SC(MN).ltoreq.SC(EXP).ltoreq.SC(EXT).
The expanded memory unit is assigned with addresses which are independent of those assigned to the main memory unit. The addresses assigned to the main memory unit are called main memory real addresses while the addresses assigned to the expanded memory unit are referred to as expanded memory real addresses.
Inasmuch as the main memory unit, the expanded memory unit and the external memory unit are related to each other, it is necessary to effectively control allocation of data among those memory units in order to improve the performance of the information processing system while taking a full advantage of the expanded memory unit. With respect to this, the present invention is directed to provide a control arrangement which enables the effective control for allocating the data and, in particular, to provide a control arrangement which enables the effective control even when the virtual space control, which is only for the main memory unit in the prior art, is also applied to the expanded memory unit.
The U.S. Pat. No. 4,476,524 issued to Brown et al discloses some prior art regarding the method for controlling memory contents stored in the expanded memory unit and how a programmer recognizes addresses in the expanded memory unit. The prior art disclosed in the above-mentioned patent allows the programmer to recognize only real addresses of addresses in the expanded memory unit. In the information processing system providing multiprogramming where a plurality of programs are run by a plurality of users, a control program (for instance, an operating system) for controlling the information processing system controls the memory contents in the expanded memory unit. A method of controlling the memory contents in the expanded memory unit by the control program is as follows:
1. A user or a program who would like to access the memory contents stored in the expanded memory unit requests that of the control program. PA1 2. The control program checks justice of the request from the user or the program who sent the request, following which it provides access.
As is apparent from the above description , whenever the user or the program accesses the memory contents stored in the expanded memory unit, the prior art disclosed in the above patent requires him or it to do so via the control program. As a result, it takes a long time for processing the memory contents stored in the expanded memory unit in the prior art, which only results in degradation of the processing performance.
A virtual storage control system allows the main memory unit to enlarge a logical storage space, to protect the stored contents, to use data among programs in common, and to effectively use resources by reallocating data on the real memory unit. Through the above-mentioned method of controlling the memory contents stored in the expanded memory unit via the control program, degraded performance of the system will result because of the necessity of doing it via the control program.
If it is possible to apply the virtual storage control system which is, at present, only for the main memory unit to the expanded memory unit and allow the system to control data by a single control system, it is expected to build a fast, high security, flexible information processing system while taking full advantage of the main memory unit, the expanded memory unit and the external memory unit.
One example of applying a conventional virtual storage control system to the expanded memory unit is disclosed in a reference SA22-7201-0 issued by International Business Machines Corporation (October 1990), pages 7-39 to 7-41, under the title of "Enterprise Systems Architecture/390: Principles of Operation". An information processing system disclosed in the above-mentioned reference comprises a page table (an address translation table) for storing page table words where the correspondence is defined between virtual page addresses and main memory page addresses. That is, the information processing system carries out address translation for translating a virtual page address into a main memory page address by using the page table. When a real page corresponding to a virtual page search is absent in the main memory unit, a page-invalid bit in the page table represents "1". In such a case, the information processing system carries out additional address translation to determine to which unit the real page in question is to be stored, the expanded memory unit or the external memory unit. Thus, this technique requires the additional address translation on accessing the contents stored in the expanded memory unit or the external memory unit. In addition, a system control program is activated when the real page is absent in the main memory unit. This program is substantially modified as a result of the additional address translation. Such modification is, however, accompanied by degradation of performance of the program itself. The performance of this program has important effects on that of the information processing system and therefore the addition address translation adversely affects the performance of the information processing system.
The access of the page table or, if necessary, the subsequent additional address translation only reveals in which memory units is the real page stored. The memory unit storing the real page in question is, however, not always the optimum one for it. Another processing is required for determining the optimum memory unit for the real page in accordance with attributes of data (operands) and frequency of access. Thus, it is desired to provide means enabling judgement in which memory units should be the data to be accessed by a program stored.